1. Field of the Invention
The present invention relates to telecommunications systems and, particularly, to an improved fault tolerant H.323 system.
2. Description of the Related Art
The International Telecommunications Union (ITU) Recommendation H.323 describes a set of devices and protocols for multimedia communication over packet-switched networks. The four main components defined by the specification are clients (also referred to as terminals or endpoints), multipoint control units, gateways and gatekeepers.
The H.323 Recommendation provides for separate H.225.0 call signaling, H.245 call control signaling and media channels. Typically, H.225.0 call signaling and H.245 call control signaling are routed through a gatekeeper, while the media channels (i.e., audio, data and/or video) are routed directly between the endpoints. For example, to place a call between two clients, the calling party client sends a message to the gatekeeper, which resolves the address of the receiving party and sends the appropriate signaling messages to the caller and receiver. Once the signaling and control channels have been established, the endpoints establish the media channels. The media channel passes directly between the endpoints. The H.225.0 signaling channel and H.245 call control channel are also used to terminate the call.
If the gatekeeper fails for any reason, the endpoints become aware of this because their connection to the gatekeeper (usually seen in the client as a TCP socket) will close. When the H.245 call control channel is detected as having been closed, the H.323 Recommendation requires the endpoints to disconnect the call and close the media channel(s). This requirement exists so that when the gatekeeper does recover, there are no outstanding media connections still alive of which the gatekeeper is unaware. Thus, the network is prevented from perpetually maintaining a call. When bandwidth management is employed, the network is prevented from allowing more calls than the network can handle.
While redundant back-up gatekeepers which track other gatekeepers"" operations have been known to be provided, such systems do not allow for preservation of ongoing calls. In these cases, ongoing calls are lost and the H.323 client terminals must re-register and re-initiate call setup again, which can cause a burst of excessive load on the network and on the gatekeeper. Moreover, gatekeeper to gatekeeper communication can consume processing power and load the system.
The H.323 Recommendation provides for direct signaling between endpoints. If an endpoint knows the transport address of a destination endpoint, then the H.225.0 call signaling and H.245 call control channels can be established directly between the endpoints. However, direct signaling does not permit the full range of features users generally expect today from telephony systems, such as call transfer or forwarding, or bandwidth control.
These disadvantages in the prior art are overcome in large part by a system and method according to the present invention. In particular, H.323 client terminals according to the present invention include redundancy supervisory layers which provide redundant H.225.0 call signaling and H.245 call control in direct signaling mode, while the primary connection uses gatekeeper routed signaling.
Once the primary gatekeeper-routed connection is established and it has been determined during capability exchange that redundancy supervisory layers are present, then the redundancy supervisory layers set up call signaling and call control channels directly between the communicating endpoints. However, the redundancy supervisory layers recognize the existence of the primary connection and therefore do not establish a media or payload channel(s) for the redundant direct signaling. If the gatekeeper fails, the media channel(s) is maintained, and the redundancy supervisory layers know that signaling is to be handled through the direct signaling and call control channels. The client terminal""s user interface may xe2x80x9cblack outxe2x80x9d (prohibit the invocation of) features which are not available when in direct signaling mode.
In addition, according to one embodiment of the invention, the redundancy supervisory layers are configured, when in active mode, to seek a backup gatekeeper and attempt to re-establish primary signaling via the backup gatekeeper. Once the call signaling and call control channels are established via the new primary gatekeeper, the direct signaling mode becomes secondary again and any features which had been disabled during the transition phase will be enabled again.
An H.323 client terminal according to an embodiment of the invention employs primary and secondary H.323 control units or state machines. The primary control unit sends signaling messages to a gatekeeper and triggers the secondary control unit to send a message with the appropriate identifier directly to the other endpoint""s redundancy supervisory layer. The primary control unit continues to establish the call per standard H.323 protocols. As the secondary control unit receives signaling directly from the other terminal, the secondary control unit checks the status of the call with the primary control unit. If the call signaling on the primary control unit is proceeding normally, no further action is taken. If the call signaling with the primary gatekeeper fails, the secondary control unit takes over communication. When the secondary control unit has taken over communication, according to one embodiment of the invention, the secondary control unit tries to re-establish a new primary, gatekeeper-routed call signaling and control channels.
A better understanding of the invention is obtained when the following detailed description is considered in conjunction with the following drawings.
FIG. 1 is a diagram illustrating an H.323 system according to an embodiment of the invention;
FIGS. 2A-2C illustrate an H.323 terminal with a redundancy supervisory layer according to an embodiment of the invention;
FIG. 3 is a diagram illustrating signaling flow according to an embodiment of the invention;
FIGS. 4A-4C are flowcharts illustrating system operation according to an embodiment of the invention;
FIG. 5 is a diagram illustrating signaling flow according to another embodiment of the invention; and
FIG. 6 is a flowchart illustrating system operation according to the embodiment of FIG. 5.